<attachment contenteditable="false" data-atts="%5B%5D" data-aid=".atts-a4240940-c9bd-4ee1-95cd-2d60e93ae0b4"></attachment><p><strong># 问题&nbsp;</strong></p><p><br></p><p>Java中如何从一个多层嵌套循环中退出？</p><p><br></p><p>例如，下面有两个循环，break只能退出一个for循环，不能直接跳过第二个for循环</p><pre class="ql-syntax" spellcheck="false">
</pre><p><br></p><ul><li><br></li></ul><pre class="ql-syntax" spellcheck="false">for (Type type : types) {
    for (Type t : types2) {
         if (some condition) {
             // Do something and break...
             break; // Breaks out of the inner loop
         }
    }
}

</pre><p><strong># 最佳答案</strong></p><p><br></p><p>可以用break+label的语法，例如：</p><pre class="ql-syntax" spellcheck="false">
</pre><p><br></p><ul><li><br></li></ul><pre class="ql-syntax" spellcheck="false">public class Test {
  public static void main(String[] args) {
    outerloop:
    for (int i=0; i &lt; 5; i++) {
      for (int j=0; j &lt; 5; j++) {
        if (i * j &gt; 6) {
          System.out.println("Breaking");
          break outerloop;
        }
        System.out.println(i + " " + j);
      }
    }
    System.out.println("Done");
  }
}

</pre><p>首先，在for循环前加标签，如例子中的outerloop，然后在for循环内break label(如本例的outerloop)，就会跳出该label指定的for循环。</p><p><br></p>